/*Color brand*/
:root {
    --camel: #f8eee6;
    --lightBlue: #b9d7f2;
    --pink: #f6b6b8;
    --purple: #6B2138;
    --orange: #e95226;
    --yellow: #d0c460;
    --brown: #4d4342;
}

/*Polices d'écriture*/
@font-face {
    font-family: 'poppins';
    src: url('../fonts/Poppins-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'lora';
    src: url('../fonts/Lora-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

.ltrafSoutien {
    margin-top: 7vw;
    margin-bottom: 6vw;
}

h1.titreSoutien {
    font-family: poppins, sans-serif;
    font-size: 3vw;
    letter-spacing: 1px;
    font-weight: bold;
    margin: auto;
    display: flex;
    justify-content: center;
    color: var(--brown);
    max-width: 40vw;
    text-align: center;
}

h2.subtitleLtrafSoutien {
    font-family: poppins, sans-serif;
    font-size: 1.2vw;
    font-weight: 500;
    margin: auto;
    display: flex;
    justify-content: center;
    margin-top: 3vw;
    color: var(--brown);
}

.buttonsLtrafSoutien {
    display: flex;
    justify-content: center;
    margin-top: 3vw;
}

.buttonLtrafSoutien {
    background-color: var(--orange);
    color: var(--camel);
    font-family: poppins, sans-serif;
    font-size: 1vw;
    font-weight: 600;
    height : 3vw;
    width : 15vw;
    margin: auto;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    border-radius: 1vw;
}

.formulaireSoutien {
    margin-top: 5vw;
    margin-bottom: 10vw;
}

.enregistrement {
    display: flex;
    justify-content: center;
    align-items: stretch; 
    gap: 3vw;
}

.formulaireSoutien1 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr); 
    gap: 3vw;
}

.nomMailDon {
    display: flex;
    justify-content: space-evenly;
    flex-direction: column;
    align-items: center;
    gap: 3vw;
}

.nomMailDon, .nomDon {
    display: contents; 
}

.formMessage {
    display: flex;
    flex-direction: column;
    width: 40%;
}

.buttonEnvoyer {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    margin-top: 3vw;
}


.buttonDon{
    background-color: var(--orange);
    color: var(--camel);
    font-family: poppins, sans-serif;
    font-size: 1vw;
    font-weight: 600;
    height : 3vw;
    width : 15vw;
    margin: auto;
    border: none;
    cursor: pointer;
    border-radius: 1vw;
    transition: .3s ease;
}

.buttonDon:hover {
    color: var(--purple);
    background-color: var(--yellow);
}

.soutienText {
    font-family: poppins, sans-serif;
    font-size: 2.2vw;
    font-weight: 900;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 7px;
    color: var(--purple);
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    width: 17vw; 
    height: 17vw;
    margin: 0;
    font-size: 1.8vw;
    background-color: var(--pink);
}

.formMail, .formNom, .formDon, .formMessage {
    padding: 0.5vw; 
    background-color: var(--white);
    background-repeat: no-repeat;
    background-origin: content-box; 
    background-size: cover;
    border: none;
    font-family: poppins, sans-serif;
    font-size: 1.5vw;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

.formMail, .formNom, .formDon {
    width: 17vw;
    height: 17vw;
}

.formMail, .formNom {
    background-image: url(../images/Background/BackgroundInput3.webp);
}

.formDon {
    background-image: url(../images/Background/BackgroundInput2.webp);
}

.formMessage {
    background-image: url(../images/Background/backgroundInput4.webp);
    width: 20vw;
    height: 40vw;
}
.inpMail, .inpNom, .inpDon{
    font-family: poppins, sans-serif;
    width: 15vw;
    height: 4vw;
    background-color: var(--orange);
    border: none;
    border-radius: 10px;
    color: var(--camel);
    padding: 10px;
    padding-left: 20px;
    font-size: 1.2vw;
    font-weight: 700;
}

.inpMessage{
    font-family: poppins, sans-serif;
    width: 15vw;
    height: 32vw;
    background-color: var(--pink);
    border: none;
    border-radius: 10px;
    color: var(--purple);
    padding: 15px;
    font-size: 1.1vw;
    font-weight: 700;
    resize: none;
}

.buttonMessage {
    background-color: var(--darkGreen);
    color: var(--white);
    font-family: poppins, sans-serif;
    font-size: 1vw;
    font-weight: 600;
    height : 3vw;
    width : 15vw;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    border-radius: 1vw;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 3vw;
}

.inpNom::placeholder, .inpMail::placeholder, .inpDon::placeholder {
    font-family: poppins, sans-serif;
    color: var(--camel);
    opacity: 0.9;
    display: flex;
    justify-content: center;
    align-items: center;
}

.inpMessage::placeholder {
    font-family: poppins, sans-serif;
    color: var(--purple);
    opacity: 0.9;
    display: flex;
    justify-content: center;
    align-items: center;
}

.nomForm, .donForm, .mailForm {
    position: absolute;
    margin-left: -10vw;
    margin-top: -5vw;
    background-color: var(--brown);
    width: 7vw;
    color: var(--yellow);
    font-family: poppins, sans-serif;
    font-size: 1.1vw;
    border: none;
    border-radius: 10px;
    padding: 5px;
    transform: rotateZ(-20deg);
    display: flex;
    justify-content: center;
}

.messageForm {
    position: absolute;
    margin-left: -10vw;
    margin-top: -33vw;
    background-color: var(--brown);
    width: 7vw;
    color: var(--yellow);
    font-family: poppins, sans-serif;
    font-size: 1.1vw;
    border: none;
    border-radius: 10px;
    padding: 5px;
    transform: rotateZ(-20deg);
    display: flex;
    justify-content: center;
    
}

.headPageSoutien{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    margin-top: 7vw;
}

.insta{
    background-color: white;
    width: 15vw;
    height: 17vw;
    background: #fff;
    box-shadow:
        0 1px 1px rgba(0, 0, 0, 0.12),
        0 2px 2px rgba(0, 0, 0, 0.12),
        0 4px 4px rgba(0, 0, 0, 0.12),
        0 8px 8px rgba(0, 0, 0, 0.12);
    transform: rotate(-2deg);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    font-family: lora, sans-serif;
}

.insta:hover {
  box-shadow:
    0 4px 4px rgba(0, 0, 0, 0.25),
    0 8px 8px rgba(0, 0, 0, 0.25),
    0 16px 16px rgba(0, 0, 0, 0.25),
    0 32px 32px rgba(0, 0, 0, 0.25);
  transform: rotate(0deg) scale(1.05);
}

.insta img{
    width: 12vw;
    height: 12vw;
    object-fit: cover;
}

.insta h3,
.insta .highlight-text{
    font-size: 1.5vw;
    color: var(--purple);
}

.insta .highlight-text {
    font-family: lora, sans-serif;
    margin: 0;
}


.insta2{
    background-color: white;
    width: 15vw;
    height: 17vw;
    background: #fff;
    box-shadow:
        0 1px 1px rgba(0, 0, 0, 0.12),
        0 2px 2px rgba(0, 0, 0, 0.12),
        0 4px 4px rgba(0, 0, 0, 0.12),
        0 8px 8px rgba(0, 0, 0, 0.12);
    transform: rotate(3deg);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    font-family: lora, sans-serif;
}

.insta2:hover {
  box-shadow:
    0 4px 4px rgba(0, 0, 0, 0.25),
    0 8px 8px rgba(0, 0, 0, 0.25),
    0 16px 16px rgba(0, 0, 0, 0.25),
    0 32px 32px rgba(0, 0, 0, 0.25);
  transform: rotate(0deg) scale(1.05);
}

.insta2 img{
    width: 12vw;
    height: 12vw;
    object-fit: cover;
}

.insta2 h3,
.insta2 .highlight-text{
    font-size: 1.5vw;
    color: var(--purple);
}

.insta2 .highlight-text {
    font-family: lora, sans-serif;
    margin: 0;
}


/* Media Queries pour le responsive */

/* Mobile (téléphone) - Détection basée sur le ratio d'aspect et l'orientation */
@media screen and ((orientation: portrait) and (max-aspect-ratio: 2/3)),
       screen and ((max-width: 768px) and (hover: none) and (pointer: coarse)) {
    /* Section headPage */
    .headPageSoutien {
        flex-direction: column;
        gap: 8vw;
        padding: 8vw 0;
    }

    .insta, .insta2 {
        width: 70vw;
        height: 75vw;
    }

    .insta img, .insta2 img {
        width: 60vw;
        height: 60vw;
    }

    .insta h3, .insta2 h3,
    .insta .highlight-text, .insta2 .highlight-text {
        font-size: 5vw;
        margin-top: 2vw;
    }

    /* Section titre */
    .ltrafSoutien {
        margin-top: 0;
        padding: 0 5vw;
    }

    h1.titreSoutien {
        font-size: 8vw;
        text-align: center;
        max-width: none;
    }

    h2.subtitleLtrafSoutien {
        font-size: 4.5vw;
        margin-top: 4vw;
        text-align: center;
    }

    .buttonsLtrafSoutien {
        margin-top: 6vw;
    }

    .buttonLtrafSoutien {
        font-size: 4.5vw;
        width: 60vw;
        height: 12vw;
        border-radius: 3vw;
    }

    /* Formulaire */
    .formulaireSoutien {
        margin: 8vw 5vw;
    }

    .enregistrement {
        flex-direction: column;
        gap: 6vw;
    }

    .formulaireSoutien1 {
        display: flex;
        flex-direction: column;
        gap: 6vw;
    }

    .nomMailDon,
    .nomDon {
        display: flex;
        flex-direction: column;
        gap: 6vw;
    }

    .soutienText {
        width: 85vw;
        height: 85vw;
        font-size: 5.5vw;
        padding: 4vw;
        margin: 0 auto;
    }

    .formNom,
    .formDon,
    .formMail {
        width: 85vw;
        height: 85vw;
        font-size: 4vw;
        margin: 0 auto;
    }

    .formMessage {
        width: 85vw;
        height: 120vw;
        font-size: 4vw;
        margin: 0 auto;
    }

    .inpDon,
    .inpMail,
    .inpNom {
        width: 75vw;
        height: 15vw;
        font-size: 4vw;
        padding-left: 5vw;
    }

    .inpMessage {
        width: 75vw;
        height: 100vw;
        font-size: 4vw;
        padding: 4vw;
    }

    .nomForm,
    .donForm,
    .mailForm {
        width: 30vw;
        font-size: 3.5vw;
         margin-left: -55vw;
        margin-top: -20vw;
        padding: 2vw;
    }

    .messageForm {
        width: 35vw;
        font-size: 3.5vw;
        margin-left: -56vw;
        margin-top: -104vw;
        padding: 2vw;
    }

    .boutonEnvoyer {
        margin-top: 6vw;
    }

    .buttonMessage {
        width: 50vw;
        height: 15vw;
        font-size: 4.5vw;
        border-radius: 3vw;
    }

    .buttonDon{
        width: 50vw;
        height: 15vw;
        font-size: 4.5vw;
        border-radius: 3vw;
    }
}

/* Tablette - Écrans moyens en portrait ou paysage tactile */
@media screen and ((orientation: portrait) and (min-aspect-ratio: 2/3) and (max-width: 1024px)),
       screen and ((orientation: landscape) and (max-width: 1366px) and (hover: none)),
       screen and ((min-width: 769px) and (max-width: 1024px) and (orientation: portrait)) {
    /* Section headPage */
    .headPageSoutien {
        gap: 5vw;
        padding: 5vw 0;
    }

    .insta, .insta2 {
        width: 25vw;
        height: 28vw;
    }

    .insta img, .insta2 img {
        width: 20vw;
        height: 20vw;
    }

    .insta h3, .insta2 h3,
    .insta .highlight-text, .insta2 .highlight-text {
        font-size: 2.5vw;
    }

    /* Section titre */
    h1.titreSoutien {
        font-size: 4vw;
        text-align: center;
        max-width: none;
    }

    h2.subtitleLtrafSoutien {
        font-size: 2vw;
    }

    .buttonLtrafSoutien {
        font-size: 1.8vw;
        width: 20vw;
        height: 4vw;
    }

    /* Formulaire */
    .soutienText {
        width: 22vw;
        height: 22vw;
        font-size: 2.2vw;
    }

    .formNom,
    .formDon,
    .formMail {
        width: 22vw;
        height: 22vw;
        font-size: 2vw;
    }

    .formMessage {
        width: 25vw;
        height: 50vw;
    }

    .inpDon,
    .inpMail,
    .inpNom {
        width: 18vw;
        height: 5vw;
        font-size: 1.5vw;
    }

    .inpMessage {
        width: 20vw;
        height: 40vw;
        font-size: 1.3vw;
    }

    .nomForm,
    .donForm,
    .mailForm {
        width: 10vw;
        font-size: 1.3vw;
        margin-left: -12vw;
        margin-top: -6vw;
    }

    .messageForm {
        width: 11vw;
        font-size: 1.3vw;
        margin-left: -12vw;
        margin-top: -40vw;
    }

    .buttonMessage {
        width: 10vw;
        height: 4vw;
        font-size: 1.5vw;
    }
}

